import * as Cesium from "cesium";
// import { reactive } from 'vue'
// 点击事件
export function OnClick(latitudeAndLongitude) {
  const viewer = this;
  new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas).setInputAction(function (click) {
    // 获取经纬度--开始
    const latitudeLongitude = coordinate.call(viewer, click);
    latitudeAndLongitude.longitude = latitudeLongitude?.longitude || '';
    latitudeAndLongitude.latitude = latitudeLongitude?.latitude || '';
    // 获取经纬度--结束
  }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
}

// 返回经纬度
function coordinate(click) {
  // 获取点击位置的地理坐标
  let position = this.scene.pickPosition(click.position);
  // 是否成功获取到了点击位置的地理坐标
  if (Cesium.defined(position)) {
    // 将地理坐标转换为经纬度
    let cartographic = Cesium.Cartographic.fromCartesian(position);
    return {
      longitude: Cesium.Math.toDegrees(cartographic.longitude).toFixed(6),
      latitude: Cesium.Math.toDegrees(cartographic.latitude).toFixed(6),
    };
  }
}
